Jump to content

Xiaomi Redmi 5 Plus (xiaomi-vince)

From postmarketOS Wiki
Note This device is supported as part of a generic port. Refer to Generic MSM8953 (qcom-msm8953) for installation instructions and more information.
Xiaomi Redmi 5 Plus
Xiaomi Redmi 5 Plus
Xiaomi Redmi 5 Plus
Manufacturer Xiaomi
Name Redmi 5 Plus
Codename xiaomi-vince
Released 2017
Type handset
Hardware
Chipset Qualcomm Snapdragon 625 (MSM8953)
CPU Octa-core Cortex-A53 2 GHz
GPU Adreno 506
Display 1080x2160 (403 PPI) IPS
Storage 32/64 GB
Memory 3/4 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android (MIUI) 8.1
Extended version
The most recent supported version from the manufacturer.
Android (MIUI)
postmarketOS
Category community
Pre-built images
Whether pre-built images are available here.
no
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
pmOS kernel
The kernel version that runs on the device's port.
6.8.2
Unixbench score
Unixbench Whetstone/Dhrystone score. See Unixbench.
0.0
Generic port Generic MSM8953 (qcom-msm8953)
Device package device-qcom-msm8953
Kernel package linux-postmarketos-qcom-msm8953
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.
Works
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Internal storage
eMMC, SD cards, UFS, ...
Works
SD card
Also includes other external storage cards
Works
Battery
Charging and battery level reporting works
Works
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Audio playback, microphone, headset and buttons.
Partial
Camera
Partial
Camera Flash
Broken
IR TX
Broken
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Partial
Modem
Calls
Partial
SMS
Works
Mobile data
Partial
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Works
USB OTG
USB On-The-Go or USB-C Role switching
Works
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Works
Magnetometer
Sensor to measure magnetism
Partial
Ambient Light
Works
Proximity
Broken
Hall Effect
Also known as flip cover sensor
Works
Haptics
Works


Maintainer(s)

  • M0Rf30

Users owning this device


Installation

Note Note: lk2nd is a hard dependency, without it the mainline kernel will not select the panel.
$ pmbootstrap init # choose Vendor: qcom Device codename: msm8953
$ pmbootstrap install
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs

How to enter flash mode

  • Stock Fastboot: Power on the device with both Power and Volume Down buttons
  • lk2nd Fastboot: Power on the device. After it vibrates, hold Volume Down
Note Note: Pressing the keys too early will cause the stock bootloader to handle the key combination. You will end up in the wrong Fastboot interface.
  • Recovery: Power on the device with both Power and Volume Up buttons

Audio

Speaker is not supported yet.

Parts

Modem

Modem works with ipa-lite since 6.7.0

Smart Speaker

To use the speaker, the device relies on:

Vendor Model
Texas Instruments tas2557 (some useful commits 1

2)

Seems to be very similar to tas2559

Fingerprint

Two drivers are available within downstream kernel.

These are not supported yet in mainline kernel.

Vendor Model
Fingerprint Cards AB FPC1020 (some useful commits 12)
Goodix GF3208

Sensors

Type Vendor Model
Accelerometer / Gyroscope STMicroelectronics LSM6DSL (on some variants) 1
Accelerometer / Gyroscope Bosch BMI120 (on some variants) 1
Magnetometer / Compass Asahi Kasei AK09918C 1
Ambient Light / Proximity Liteon Opto LTR579 ALS / PS (same ALS registers of Liteon LTRF216A 1 with no PS part)
Hall ROHM Semiconductor BU52061NVX (works as gpio key)

Touchscreen

Type Vendor Supported
RMI4 Synaptics Yes
NT36672 Novatek Partially (disabled in dts)

NT36672 can be enabled from lk2nd, manual build is needed. https://github.com/msm8916-mainline/lk2nd/blob/main/lk2nd/device/dts/msm8953/msm8953-xiaomi-vince.dts#L23-L47

//touchscreen-compatible = "syna,rmi4-i2c";
touchscreen-compatible = "novatek,nt36672a-ts"; // since 6.15
touchscreen-compatible = "novatek,nt36525-i2c"; // below 6.15

On some devices (EBBG panel?), touchscreen lives on another I2C port and linux device tree has to be patched to make it work:

diff --git a/arch/arm64/boot/dts/qcom/msm8953-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8953-xiaomi-common.dtsi
index eedc570cf..f6b6f37d3 100644
--- a/arch/arm64/boot/dts/qcom/msm8953-xiaomi-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8953-xiaomi-common.dtsi
@@ -79,8 +79,8 @@ led@0 {
 &i2c_3 {
        status = "okay";
 
-       rmi4_ts: touchscreen@20 {
-               reg = <0x20>;
+       rmi4_ts: touchscreen@70 {
+               reg = <0x70>;
                compatible = "syna,rmi4-i2c";
                interrupts-extended = <&tlmm 65 IRQ_TYPE_EDGE_FALLING>;

Serial UART

Getting UART output on this device should be pretty straightforward, because pins for serial transfer (TX and RX) are exposed directly on motherboard and are even labeled.

See also: Serial debugging

See also